/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int cmp(const void* pa, const void* pb){
    return (*(int*)pa - *(int*)pb);
}

void swap(int* a, int *b){
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

int* numberGame(int* nums, int numsSize, int* returnSize) {
    qsort(nums, numsSize, sizeof(int), cmp);
    *returnSize = numsSize;
    for(int i = 0; i < numsSize - 1; i += 2){
        swap(&nums[i], &nums[i + 1]);
    }
    return nums;
}

/*你有一个下标从 0 开始、长度为偶数的整数数组 nums ，同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏，游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下：

每一轮，Alice 先从 nums 中移除一个最小元素，然后 Bob 执行同样的操作。接着，Bob 会将移除的元素添加到数组 arr 中，然后 Alice 也执行同样的操作。

游戏持续进行，直到 nums 变为空。返回结果数组 arr 。*/